This invention relates to symbol entry. Specifically, this invention relates to the entry of multi-stroke symbols or written language characters into an electronic device.
Recent advances in technology and design have enabled the production of handheld electronic devices (including cellular telephones and portable digital assistants or xe2x80x98PDAsxe2x80x99) that have unprecedented capabilities for storage, processing, and/or communications. Such devices can perform data storing functions, retaining quantities of organized textual information such as names, street addresses, e-mail addresses, telephone numbers, and facsimile numbers for business and/or personal contacts. Data access functions may then be performed to retrieve and display selected portions of this information for its own sake or, alternatively, such portions may be retrieved in order to serve as parameters to other device functions such as e-mail, telephone, or fax communications.
In using a device such as a laptop or desktop computer, information may easily be stored or retrieved by entering text via the typing keyboard. The portability and miniaturization associated with handheld devices, however, leave no room for a typing keyboard, and other methods are required with such devices to support entering text or entering search parameters for retrieving text.
One option is to adapt an existing user interface such as the standard twelve-button telephone keypad (i.e. the digits 0-9 and the characters xe2x80x98#xe2x80x99 and xe2x80x98*xe2x80x99) for character entry. In this method, the twenty-six letters of the Roman alphabet are mapped to selected keys (as shown in FIG. 1). This method is an unnatural way to enter textual information, however, in part because the mapping must be plural-to-one. In order to enter a single instance of the letter xe2x80x98Cxe2x80x99, for example, the user must press the xe2x80x982xe2x80x99 key three times. Such a method is also slow, as the user must observe pauses between keypresses in order to indicate character boundaries (e.g. to distinguish two instances of the letter xe2x80x98Axe2x80x99 from one instance of the letter xe2x80x98Bxe2x80x99).
In some cases, character disambiguation processing may be used to reduce the required number of keypresses to some extent. In U.S. Pat. No. 5,818,437, Grover et al. describe a computer that uses a dictionary to map sequences of keypresses to corresponding words on a one-to-one keypress-to-letter basis. Unfortunately, some sequences may correspond to more than one word or string, requiring the user to perform additional actions in order to resolve the ambiguity. In the described device, for example, the sequence xe2x80x981226xe2x80x99 corresponds at least to the strings xe2x80x98FOODxe2x80x99, xe2x80x98GOODxe2x80x99, and xe2x80x981226xe2x80x99. Also, entry becomes more difficult for words that are not already represented in the computer""s dictionary. In such cases, this method requires multiple and unfamiliar actions to enter characters. In one described embodiment, for example, each key is mapped to nine symbols, and at least two keypresses are required to select any desired symbol.
Moreover, such methods are unsuitable for languages that have alphabets or character sets of more than about thirty characters, as the number of keys required (and/or the number of characters mapped to a given key) would become too high for practical use. For languages having thousands of characters such as written Chinese or Japanese kanji, any method that relies on character-to-key mapping may be completely unworkable.
Another option is entry of textual characters by the use of single, unbroken strokes called xe2x80x98unistrokes.xe2x80x99 In U.S. Pat. No. 5,596,656, Goldberg describes a method for using a stylus on a suitable writing surface to enter unistrokes, where each unistroke represents a letter of the Roman alphabet, a digit, or a punctuation symbol. As this method is strictly limited to one-stroke entry, however, it requires the user to learn a new writing alphabet, many of whose characters bear little to no resemblance to the characters they represent. The unistroke corresponding to the letter xe2x80x98Exe2x80x99, for example, is a single stroke from right to left, while the unistroke corresponding to the letter xe2x80x98Rxe2x80x99 is a single straight stroke from upper left to lower right. The unistroke method may be also unsuitable for languages that include more characters than may conveniently be represented by such an artifice.
Moreover, the unistroke method requires a stylus. On one hand, the stylus may become lost or broken. On the other hand, the stylus may be inconvenient to use in a situation where the user has only one hand free and must use it to hold the device. Additionally, the writing surface required to support such a method consumes a significant portion of the area of the face of the device. Finally, any combination of a stylus and a writing surface that supports such a method will also add considerably to the cost of the device.
Sets of direction codes are received from an input device. Each direction code relates to one among a predetermined number of directions in a drawing plane, and each set of direction codes relates to a stroke. A character comprising the strokes is displayed.